// 数组去重
let arr = [1, 2, 3, 4, 4, 5, 5, 6, 7, 9, 0]
function unique(arr) {
  return arr.filter((item, index) => arr.indexOf(item) == index)
}
// console.log(unique(arr))
// 数组扁平化
let arr1 = [
  1, 2, 3, 4,
  [5, 6, 7, 8, [9, 0]],
  11, 12, 13, 14
]
// flat接收一个参数 表示要扁平化的层数
// console.log(arr1.flat(1))
// 手动扁平化 es5
function flatten(arr) {
  let result = []
  arr.forEach((item) => {
    if (Array.isArray(item)) {
      result = result.concat(flatten(item))
    } else {
      result.push(item)
    }
  })
  return result
}
// console.log('数组手动扁平化', flatten(arr1))

// es6 数组扁平化
function es6Flatten(arr) {
  while(arr.some(item => Array.isArray(item))) {
    arr = [].concat(...arr)
  }
  return arr
}
// console.log('es6 数组手动扁平化', es6Flatten(arr1))
